package edu.uoc.vmerinom.tfc.domain;

// Generated 14-abr-2012 19:33:30 by Hibernate Tools 3.4.0.CR1

import static javax.persistence.GenerationType.IDENTITY;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Hora generated by hbm2java
 */
@Entity
@Table(name = "horas")
public class Hora implements java.io.Serializable {
	/** Default Serial Version ID */
	private static final long serialVersionUID = 1L;

	private Integer id;
	private Date creado;
	private Date modificado;
	private Date alta;
	private Date baja;
	private int horaEntrada;
	private int minutoEntrada;
	private int horaSalida;
	private int minutoSalida;
	private List<Casilla> casillas = new ArrayList<Casilla>(0);

	public Hora() {
	}

	public Hora(Date creado, Date modificado, Date alta, int horaEntrada, int minutoEntrada, int horaSalida, int minutoSalida) {
		this.creado = creado;
		this.modificado = modificado;
		this.alta = alta;
		this.horaEntrada = horaEntrada;
		this.minutoEntrada = minutoEntrada;
		this.horaSalida = horaSalida;
		this.minutoSalida = minutoSalida;
	}

	public Hora(Date creado, Date modificado, Date alta, Date baja, int horaEntrada, int minutoEntrada, int horaSalida, int minutoSalida, List<Casilla> casillas) {
		this.creado = creado;
		this.modificado = modificado;
		this.alta = alta;
		this.baja = baja;
		this.horaEntrada = horaEntrada;
		this.minutoEntrada = minutoEntrada;
		this.horaSalida = horaSalida;
		this.minutoSalida = minutoSalida;
		this.casillas = casillas;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "creado", nullable = false, length = 19)
	public Date getCreado() {
		return this.creado;
	}

	public void setCreado(Date creado) {
		this.creado = creado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "modificado", nullable = false, length = 19)
	public Date getModificado() {
		return this.modificado;
	}

	public void setModificado(Date modificado) {
		this.modificado = modificado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "alta", nullable = false, length = 19)
	public Date getAlta() {
		return this.alta;
	}

	public void setAlta(Date alta) {
		this.alta = alta;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "baja", length = 19)
	public Date getBaja() {
		return this.baja;
	}

	public void setBaja(Date baja) {
		this.baja = baja;
	}

	@Column(name = "hora_entrada", nullable = false)
	public int getHoraEntrada() {
		return this.horaEntrada;
	}

	public void setHoraEntrada(int horaEntrada) {
		this.horaEntrada = horaEntrada;
	}

	@Column(name = "minuto_entrada", nullable = false)
	public int getMinutoEntrada() {
		return this.minutoEntrada;
	}

	public void setMinutoEntrada(int minutoEntrada) {
		this.minutoEntrada = minutoEntrada;
	}

	@Column(name = "hora_salida", nullable = false)
	public int getHoraSalida() {
		return this.horaSalida;
	}

	public void setHoraSalida(int horaSalida) {
		this.horaSalida = horaSalida;
	}

	@Column(name = "minuto_salida", nullable = false)
	public int getMinutoSalida() {
		return this.minutoSalida;
	}

	public void setMinutoSalida(int minutoSalida) {
		this.minutoSalida = minutoSalida;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "hora")
	public List<Casilla> getCasillas() {
		return this.casillas;
	}

	public void setCasillas(List<Casilla> casillas) {
		this.casillas = casillas;
	}

}
